package com.tron.sync.entities;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

/**
 * synda用户全文检索实体类
 */
@Data
@Document(indexName = "xrhd_syndauserdoc")
public class SyndaUserDoc {

    /**
     *          "userSecretLevel":0,
     * 			"relationType":"T0",
     * 			"orgType":"3",
     * 			"orgName":"云南省公安厅警令部办公室督办科",
     * 			"userSort":0,
     * 			"userMobile":"15925372021",
     * 			"name":"校长1",
     * 			"id":"787355004561260544",
     * 			"userType":"T2",
     * 			"userIdentity":"10000",
     * 			"orgId":"785916390342131712"
     */


    /**
     * 主键
     */
    @Id
    @Field(type = FieldType.Keyword)
    private String id;
    /**
     * 姓名
     */
    @Field(type = FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word")
    private String name;
    /**
     * 性别
     */
    @Field(type = FieldType.Text)
    private String gender;
    /**
     * 状态
     */
    @Field(type = FieldType.Keyword)
    private String status;
    /**
     * 手机号码
     */
    @Field(type = FieldType.Text)
    private String userMobile;
    /**
     * 座机号码
     */
    @Field(type = FieldType.Text)
    private String telephone;
    /**
     * 内线电话
     */
    @Field(type = FieldType.Text)
    private String insidePhone;
    /**
     * 职务
     */
    @Field(type = FieldType.Text)
    private String job;
    /**
     * 职级
     */
    @Field(type = FieldType.Text)
    private String jobRank;
    /**
     * 警号
     */
    @Field(type = FieldType.Text)
    private String userNumber;
    /**
     * 警种
     */
    @Field(type = FieldType.Text)
    private String category;
    /**
     * 警员类型
     */
    @Field(type = FieldType.Text)
    private String userType;
    /**
     * 拼音码
     */
    @Field(type = FieldType.Text)
    private String pinyin;
    /**
     * 组织id
     */
    @Field(type = FieldType.Keyword)
    private String orgId;
    /**
     * 入职日期
     */
    @Field(type = FieldType.Long)
    private Long hireDate;
    /**
     * 入党日志
     */
    @Field(type = FieldType.Long)
    private Long joinPartyDate;
    /**
     * 排序码
     */
    @Field(type = FieldType.Text)
    private Integer userSort;
    /**
     * 用户身份
     */
    @Field(type = FieldType.Text)
    private String userIdentity;

    @Field(type = FieldType.Keyword)
    private String path;

    @Field(type = FieldType.Text)
    private String orgName;

    @Field(type = FieldType.Text)
    private String orgType;
}
